#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int main() {
//    int a = 0;
//    int b = 0;
//    int sun = 0, sum = 0;
//    scanf("%d %d", &a, &b);
//    sun = a / b;
//    sum = a % b;
//    printf("%d %d", sun, sum);
//
//    return 0;
//}
//
//#include <stdio.h>
//
//int main() {
//    int x = 0;
//    scanf("%d", &x);
//    if (x >= 10)
//    {
//        printf("Danger++\n");
//    }
//    if (x >= 4 && x <= 9)
//    {
//        printf("Danger\n");
//    }
//    if (x >= 0 && x <= 3)
//    {
 /*       printf("Good\n");
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int n;
    while (scanf("%d", &n) != EOF)
    {
        switch (n)
        {
        case 200:printf("OK\n"); break;
        case 202:printf("Accepted\n"); break;
        case 400:printf("Bad Request\n"); break;
        case 403:printf("Forbidden\n"); break;
        case 404:printf("Not Found\n"); break;
        case 500:printf("Internal Server Error\n"); break;
        case 502:printf("Bad Gateway\n"); break;
        default:break;
        }
    }
    return 0;
}
#include<stdio.h>*/
int main()
{
    int n = 0;
    while (scanf("%d ", &n))
    {
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                printf("%d ", j);
            }
            printf("\n");
        }
    }
    return 0;
}